1. Field of the Invention
The present invention relates to positioning devices used to determine the position of a user depending on a signal from a satellite.
2. Description of the Background Art
In recent years, a global positioning system or GPS which can receive a signal from an orbital satellite to determine the position of a user on the terrestrial ground with high precision, has been put to practical use. This GPS employs a GPS receiver simultaneously receiving signals transmitted from multiple GPS satellites, to detect a position.
A GPS satellite multiplies data to be transmitted (of 50 bps), referred to as a navigation message, by a pseudo random code (of 1.023 MHz, having a period of 1 ms) allotted uniquely to the GPS satellite and sends it via a carrier (a carrier wave of approximately 1.5 GHz) to transmit a signal. While the carrier""s frequency is common to all GPS satellites, data to be transmitted is each spectrum-spread by a unique pseudo random code and thus do not interfere with each other.
A GPS receiver simultaneously receives signals transmitted from multiple GPS satellites and spectrum-despreads a signal from each GPS satellite to extract a navigation message. xe2x80x9cDespreadxe2x80x9d herein means demodulation in a spread spectrum system. In general, up to 8 to 16 satellites can be simultaneously subjected to such signal processing. In spectrum-despreading, a received signal is multiplied by a carrier wave and a pseudo random code identical to those used in the multiplication for the transmission in the GPS generation and the resultant multiplication is integrated over a predetermined period of time to derive a correlation value. It should be noted that the integration time above is approximately one period of the pseudo random code (1 ms).
A pseudo random code and a carrier used in the multiplication to despread a spectrum each have an uncertainty, as described below:
(1) the phase of the pseudo random code
(2) the frequency of the carrier
if a pseudo random code generated in a receiver is offset in phase from that multiplied in the received signal, the receiver cannot extract a navigation message from the carrier. Since it is difficult to predict a phase of a pseudo random code, in general an uncertain region corresponds to the entire phase of the pseudo random code.
The uncertainty of a carrier frequency is attributed to two factors, i.e., the Doppler effect resulting from the movement of a GPS satellite and a frequency error of an oscillator internal to a receiver. The effect of the Doppler effect on a carrier frequency can reach as high as 5 kHz. However, the magnitude thereof can be predicted to reduce any uncertain region to less than 5 kHz. The error of the internal oscillator significantly depends on the characteristics of the oscillator. If an oscillator with temperature compensation is used, the error is on the order of at most 1 kHz. Otherwise, the effect on a carrier frequency can reach as high as approximately 100 kHz.
Accordingly, in despreading a spectrum in a GPS receiver a two-dimensional, uncertain region resulting from the above two uncertainties must be entirely searched until a navigation message is obtained. The region is searched by obtaining a correlation value for each searching point determined depending on a specific pseudo random code phase and a specific carrier frequency, and comparing the obtained correlation value with a preset threshold value.
The interval between searching points must be no more than twice a maximal offset acceptable for capturing a signal, and it is approximately 0.5 xcexcsec for a pseudo random code phase and approximately 1 kHz for a carrier frequency. Thus if an uncertain region of a carrier frequency is 10 kHz, the number of searching points is represented by the following expression:
xe2x80x83((1 ms/0.5 xcexcsec))xc3x97(10 kHz/1 kHz))=20,000
Thus when an integration time of 1 msec is provided at one searching point searching the entirety of the uncertain region requires approximately 20 seconds.
It should be noted, however, that if there is a significant error in an oscillation frequency (a local oscillation frequency) of an internal oscillator and an uncertain region of a carrier frequency expands, then the time required for searching the region is accordingly increased.
A method employing Fast Foulier Transform (FFT) allows rapid search when an inexpensive oscillator without temperature compensation is used and a significant error is introduced in a local oscillation frequency. FFT allows a true carrier frequency to be estimated among a range of frequencies.
More specifically, correlation values obtained through the integration are stored and used as an input to perform a FFT. It should be noted that the number of the correlation values stored is equal to the point count of the FFT performed. If a pseudo random code is in phase and the difference between a true carrier frequency and an internal carrier""s frequency (a local oscillation frequency) falls within a range searched via the FFT, the frequency corresponding to the difference has a peak and the true carrier frequency can thus be estimated.
Important factors in a method employing such FFT are the frequency range which the FFT can search, and the precision with which the FFT can search the frequency. A range of frequencies which can be searched is the same as a sampling frequency and is widen as an integration time required to obtain one correlation value is reduced.
A searching precision is obtained by dividing a sample frequency by a point count and is thus enhanced as the point count increases. As has been described above, carrier frequency searching requires a precision of approximately 1 kHz. Accordingly the time corresponding to a single period thereof or 1 msec divided by a point count may be adopted as an integration time to obtain one correlation value.
For example, a point count of 32 provides an integration time of approximately 31 xcexcsec and FFT can search a frequency range of 32 kHz at one time.
The range that can be searched is widen if the point count is further increased. Because of a characteristic of a pseudo random code, however, with too short an integration time a correct correlation cannot be obtained and the sensitivity can thus be deteriorated.
FIG. 6 is a schematic block diagram showing a configuration of a conventional GPS receiver, particularly of a carrier search unit 2000 disposed to search a carrier.
In the figure, a downconversion unit (not shown) downconverts a received signal to a signal of approximately several MHz. The downconverted signal is then sampled by an A-D converter (not shown) to provide a 2-bit digital signal which is input to a signal input port 10.
A local carrier oscillator 20 generates an in-phase carrier and an quadrate carrier which have a designated frequency and are offset in-phase from each other by 90xc2x0. The carriers are generated with a precision of two bits. Carrier multipliers 31 and 32 multiply an input signal by the in-phase and quadrate carriers, respectively. Carrier multipliers 31 and 32 multiply the 2-bit input signal by the in-phase or quadrate carrier and output a 4-bit signal.
A code generator 40 generates a pseudo random code corresponding to a GPS satellite. Code multipliers 51 and 52 multiply the outputs from carrier multipliers 31 and 32, respectively, by the pseudo random code from code generator 40.
Integrators 61 and 62 receive outputs from code multipliers 51 and 52, respectively, and integrate them, respectively, over a predetermined period of time.
A memory 70 stores integrals obtained via integrators 61 and 62.
A frequency difference calculation unit 80 follows the procedure described below to perform an FFT depending on the integrals stored in memory 70 to obtain a frequency difference between a carrier included in an input signal and a local carrier generated by local carrier generator 20.
Carrier search unit 90 uses the frequency difference from frequency difference calculation unit 80 to control the local carrier frequency generated by carrier generator 20 to provide carrier control.
Operation of conventional carrier search unit 2000 will now be described.
The A-D converter in the downconversion unit typically has a sampling frequency of 4.092 MHz, and local carrier generator 20, carrier multipliers 31 and 32, code generator 40, code multipliers 51 and 52, and integrators 61 and 62 operate according to the clock of 4.092 MHz.
Local carrier generator 20 outputs 2-bit, in-phase and quadrate carriers for each cycle. Carrier multipliers 31 and 32 multiply a 2-bit input signal by the 2-bit, in-phase or quadrate carrier for each cycle to output a 4-bit signal. Code generator 40 generates a 1-bit code associated with a specific GPS satellite for each cycle. The code generator 40 generates a code respectively representing xc2x11 for each cycle.
Code multipliers 51 and 52 multiply the 4-bit input by the 1-bit code for each cycle to output a 4-bit signal. For a code of +1, code multipliers 51 and 52 output a 4-bit input as it is. For a code of xe2x88x921, code multipliers 51 and 52 invert a 4-bit input before the input is output.
Integrators 61 and 62 has an integration time of approximately 31 xcexcsec (128 cycles). At the start of the integration time, integrators 61 and 62 have their accumulators initialized to zero and integrators 61 and 62 add a 4-bit input to the accumulators for each cycle. At the end of the integration time, integrators 61 and 62 write the accumulators"" values to memory 70.
When 32 integrals for each of in-phase and quadrate channels are stored in memory 70, frequency difference calculation unit 80 reads the values of the integrals to perform an FFT. In performing the FFT, the integrals for the in-phase channel and those for the quadrate channel are regarded as a real part and a imaginary part, respectively, of a time-region signal to perform a 32-point complex FFT.
More specifically, when an integral for an in-phase channel and that for an quadrate channel are represented as I(n) and Q(n), respectively, wherein n represents a natural number and n=0, 1, 2, . . . , 31, then a signal of a frequency region is obtained as below:
X(n)=xcexa3(I(k)+jQ(k)exp(xe2x88x92jkn/32)
wherein j represents an imaginary unit and xcexa3 represents summation with respect to k from k=0 to k=31. (Hereinafter xcexa3 will be used as described above.)
With a signal of a frequency range thus obtained, X(0) to X(15) correspond to 0 kHz to 15 kHz and X(17) to X(31) correspond to xe2x88x9215 kHz to xe2x88x921 kHz. To calculate a power at each frequency of the signal of a frequency region thus obtained, frequency difference calculation unit 80 calculates the sum of the square of a real part and that of an imaginary part for each frequency. That is, each frequency has a power calculated as below:                               P          ⁡                      (            n            )                          =                  xe2x80x83                ⁢                              "LeftBracketingBar"                          X              ⁡                              (                n                )                                      "RightBracketingBar"                    2                                        =                  xe2x80x83                ⁢                                            {                              Re                ⁡                                  (                                      X                    ⁡                                          (                      n                      )                                                        )                                            }                        2                    +                                    {                              Im                ⁡                                  (                                      X                    ⁡                                          (                      n                      )                                                        )                                            }                        2                              
If an obtained power has a maximal value exceeding a predetermined threshold value, frequency difference calculation unit 80 regards the frequency with the maximal power as the frequency difference between a carrier of an input signal and a local carrier generated in the receiver and transmits the obtained frequency difference to carrier search unit 90.
Carrier search unit 90 adds the frequency difference from frequency difference calculation unit 80 to a frequency value currently set in carrier generator 20 to re-set a carrier frequency generated by carrier generator 20.
While the conventional GPS receiver described above can search a wide range of frequencies, it disadvantageously has a significant burden on the FFT process. Since a carrier must be searched for until a phase of a pseudo random code and a carrier frequency match, the conventionally configured GPS receiver operating at a typical frequency must be capable of performing an FFT for each millisecond. This means that if software is used to provide the process described above a CPU is required which has a capacity of approximately several MIPS. Furthermore, if a carrier is searched for with multiple channels simultaneously, the MIPS needs to be multiplied by the number of the channels.
One object of the present invention is to provide a positioning device capable of reducing a process provided to search for a carrier.
Briefly speaking, the present invention is a positioning device receiving positioning signals from multiple satellites to derive positional information, including a downconversion unit, a carrier search unit and a positional information deriving unit.
The downconversion unit receives positioning signals from multiple satellites and converts the signals to a predetermined intermediate frequency (IF) signal.
The carrier search unit receives an output from the downconversion unit and searches for a frequency of a carrier wave of the signals from the multiple satellites.
The carrier search unit includes a carrier generator, a signal extraction unit, a storage circuit, a frequency difference calculation unit and a carrier search control unit.
The carrier generator generates an in-phase local carrier signal and an quadrate local carrier signal. The signal extraction unit responds to a signal from the downconversion unit and signals output from the carrier generator by separating an in-phase channel signal corresponding to the in-phase local carrier signal and an quadrate channel signal corresponding to the quadrate local carrier signal to despread a spectrum.
First and second integrators each receive an output from the signal extraction unit and integrate it for a designated integration time. From the first and second integrators the storage circuit receives and holds multiple integrals each calculated for an integration time.
The frequency difference calculation unit derives a frequency difference between a carrier frequency included in a signal from the downconversion unit and a local carrier frequency. The frequency difference calculation unit derives the frequency difference by i) providing Fast Fourier Transform for the integration stored in the storage circuit and corresponding to the in-phase channel signal, ii) correcting a direct-current component of frequency components obtained by the Fast Fourier Transform using the integration stored in the storage circuit and corresponding to the quadrate channel signal, and iii) selecting a frequency component with a maximum power among the frequency components.
The carrier search control unit uses the frequency difference to update the frequency of the local carrier signals generated by the carrier generator and search for the frequency of the carrier wave.
The positional information deriving unit uses an output from the carrier search unit to extract navigation messages from the signals from the multiple satellites to derive positional information.
Preferably when a predetermined threshold value is exceeded by the sum of a predetermined number of integrals stored in the storage circuit and corresponding to the in-phase channel signal that are each squared and then together summed up and a predetermined number of integrals stored in the storage circuit and corresponding to the quadrate channel signal that are each squared and then together summed up, the frequency difference calculation unit performs Fast Fourier Transform depending on the integrals stored in the storage circuit and corresponding to the in-phase channel signal and uses the sum of all integrals stored in the storage circuit and corresponding to the quadrate channel signal as an imaginary part of a direct-current component of frequency components resulting from the Fast Fourier Transform, to calculate a power for each frequency component to provide a frequency difference based on the frequency with the maximal power.
In another aspect of the present invention a positioning method receiving positioning signals from multiple satellites to derive positional information includes the steps of: receiving positioning signals from multiple satellites and converting the signals to a predetermined intermediate frequency (IF) signal; multiplying the IF signal by an in-phase carrier signal and an quadrate carrier signal to separate an in-phase channel signal corresponding to an in-phase local carrier signal and an quadrate channel signal corresponding to an quadrate local carrier signal; despreading a spectrum of each of the in-phase and quadrate channel signals; integrating each signal having a despread spectrum for a designated integration time, providing Fast Fourier Transform for the integration corresponding to the in-phase channel signal, correcting a direct-current component of frequency components obtained by the Fast Fourier Transform using the integration corresponding to the quadrate channel signal, selecting a frequency component with a maximum power among the frequency components to provide said frequency difference, using the frequency difference to update the frequency of the in-phase and quadrate cannel signals to search for the frequency of the carrier wave; and using a searched carrier wave to extract navigation massages from the signals sent from the multiple satellites to derive positional information.
Thus a main advantage of the present invention is that real Fast Fourier Transform can be provided to reduce the amount of a frequency difference calculation process.
Another advantage of the present invention is that the phasing of an input signal and a generated code signal can be previously evaluated prior to a process to reduce the amount of a frequency difference calculation process.
The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.